sort命令

sort命令用于将文本文件内容加以排序,可针对文本文件的内容,以行为单位来排序。

语法

sort [OPTION]... [FILE]...
sort [OPTION]... --files0-from=F

参数

示例

file.txtfile1.txtfile2.txt文件内容如下。

# file.txt
abhishek
chitransh
satish
rajan
naveen
divyam
harsh

# file1.txt
50
39
15
89
200

# file2.txt
abc
apple
BALL
Abc
bat
bat

file.txt文件内容进行排序,要保存的话需要使用输出重定向。

sort file.txt
# abhishek
# chitransh
# divyam
# harsh
# naveen
# rajan
# satish

sort file2.txt
# abc
# Abc
# apple
# BALL
# bat
# bat

可以使用-r标志执行逆序排序。

sort -r file.txt
# satish
# rajan
# naveen
# harsh
# divyam
# chitransh
# abhishek

使用-n对数字进行排序,不使用-n的话则会使用字典序排序。

sort -n file1.txt
# 15
# 39
# 50
# 89
# 200

sort file1.txt
# 15
# 200
# 39
# 50
# 89

要对带有反向数字数据的文件进行排序,我们可以使用下面-nr两个选项的组合。

sort -nr file1.txt
# 200
# 89
# 50
# 39
# 15

使用-u排序并删除重复项。

sort -u file2.txt
# abc
# Abc
# apple
# BALL
# bat

使用-c检查文件是否已经按照顺序排序。

sort -c file2.txt
# sort: file2.txt:4: disorder: Abc

参考

https://www.computerhope.com/unix/usort.htm
https://www.runoob.com/linux/linux-comm-sort.html
https://www.geeksforgeeks.org/sort-command-linuxunix-examples/